package com.tansun.easycare.rule.codeblock.entity;

import org.hibernate.validator.constraints.Length;

import com.tansun.easycare.rule.common.entity.RuleBaseEntity;

/**
 * 代码块Entity
 *
 * @author lixs
 * @version 2017-03-21
 */
public class RuleCodeblock extends RuleBaseEntity<RuleCodeblock> implements Cloneable {

    private static final long serialVersionUID = 1L;
    private String manageId;        // 规则管理ID
    private String parameterId;     //变量id
    private String projectCode;        // PROJECT_CODE
    private String funcImport;        // 函数引用
    private String parameters;        // 参数信息
    private String returnType;        // 返回值类型
    private String functionName;        // 函数名
    private String initcode;         //系统初始化代码
    private String codeBody;        // 函数体
    private String strCodeBody;
    private String formatcodebody;  //格式化代码
    private String codeBodyEdit;//修改后函数体 ljt 20200204
    private String formatcodebodyEdit;//修改后格式化代码 ljt 20200204
    private String activeStatus;//生效状态 1:未生效待审核 2已生效待审核 3已生效已审核
    /**
     * 规则模型编号
     */
    private String modelCode;
    /**
     * 规则模型名称
     */
    private String modelName;
    /**
     * 规则模型名称
     */
    private String modelType;
    public RuleCodeblock() {
        super();
    }

    public RuleCodeblock(String id) {
        super(id);
    }

    @Length(min = 0, max = 64, message = "规则管理ID长度必须介于 0 和 64 之间")
    public String getManageId() {
        return manageId;
    }

    public void setManageId(String manageId) {
        this.manageId = manageId;
    }

    @Length(min = 0, max = 50, message = "PROJECT_CODE长度必须介于 0 和 50 之间")
    public String getProjectCode() {
        return projectCode;
    }

    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }

    @Length(min = 0, max = 50, message = "函数引用长度必须介于 0 和 50 之间")
    public String getFuncImport() {
        return funcImport;
    }

    public void setFuncImport(String funcImport) {
        this.funcImport = funcImport;
    }

    @Length(min = 0, max = 200, message = "参数信息长度必须介于 0 和 200 之间")
    public String getParameters() {
        return parameters;
    }

    public void setParameters(String parameters) {
        this.parameters = parameters;
    }

    @Length(min = 0, max = 50, message = "返回值类型长度必须介于 0 和 50 之间")
    public String getReturnType() {
        return returnType;
    }

    public void setReturnType(String returnType) {
        this.returnType = returnType;
    }

    @Length(min = 0, max = 50, message = "函数名长度必须介于 0 和 50 之间")
    public String getFunctionName() {
        return functionName;
    }

    public void setFunctionName(String functionName) {
        this.functionName = functionName;
    }


    public String getCodeBody() {
		return codeBody;
	}

	public void setCodeBody(String codeBody) {
		this.codeBody = codeBody;
	}

	public String getStrCodeBody() {
        return strCodeBody;
    }

    public void setStrCodeBody(String strCodeBody) {
        this.strCodeBody = strCodeBody;
    }

    public String getModelCode() {
        return modelCode;
    }

    public void setModelCode(String modelCode) {
        this.modelCode = modelCode;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

	public String getParameterId() {
		return parameterId;
	}

	public void setParameterId(String parameterId) {
		this.parameterId = parameterId;
	}

	public String getInitcode() {
		return initcode;
	}

	public void setInitcode(String initcode) {
		this.initcode = initcode;
	}

	public String getFormatcodebody() {
		return formatcodebody;
	}

	public void setFormatcodebody(String formatcodebody) {
		this.formatcodebody = formatcodebody;
	}

	public String getModelType() {
		return modelType;
	}

	public void setModelType(String modelType) {
		this.modelType = modelType;
	}

    public String getCodeBodyEdit() {
        return codeBodyEdit;
    }

    public void setCodeBodyEdit(String codeBodyEdit) {
        this.codeBodyEdit = codeBodyEdit;
    }

    public String getFormatcodebodyEdit() {
        return formatcodebodyEdit;
    }

    public void setFormatcodebodyEdit(String formatcodebodyEdit) {
        this.formatcodebodyEdit = formatcodebodyEdit;
    }

    public String getActiveStatus() {
        return activeStatus;
    }

    public void setActiveStatus(String activeStatus) {
        this.activeStatus = activeStatus;
    }

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}